//==================================================
//Instituto Tecnologico de Costa Rica
//Principios de Sistemas Operativos 
//Profesora: Ericka Marin 
//Tarea Programada 1
//Integrantes:
//Rolland Chaverri
//Gabriel Rodriguez Brenes
//==================================================
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include <fcntl.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <sys/stat.h>
#include <sys/un.h>
#include <netinet/in.h>
#include <netdb.h>
#include <unistd.h>
#include <errno.h>
#include "mode_FIFO.h"
#define BUF_SIZE 255
#define QUEQUE_SIZE 10
#define PUERTO_FIFO 5000
/**
 *Modalidad fork
 */

/**
 * Metodo para bajar con FORK
 */
void bajar_FORK()
{
    int status = 0;
    
    
    pid_t id_proceso;
    id_proceso = fork();
		
    if (id_proceso < 0)
    {
        perror("fork() failed");
        exit(0);
    }
    else if (id_proceso== 0)  /*PROCESO HIJO*/
    {
        printf("El PID de mi proceso padre es %d\n", getppid());
    }
    else if (id_proceso > 0)  /*PROCESO PADRE*/
    {
        printf("Mi PID es el %d y he creado un proceso hijo cuyo pid es %d\n", getpid(), id_proceso);
        wait(&status);
        printf("\nEl proceso hijo finalizo con el estado %d\n", status);
        //./exit(0);
    }
}

int main()
{
    
    bajar_FORK();
}